0083. 删除排序链表中的重复元素【简单】
1. 📝 题目描述
给定一个已排序的链表的头 head, 删除所有重复的元素,使每个元素只出现一次。返回 已排序的链表。
示例 1:

txt
输入:head = [1,1,2]
输出:[1,2]1
2
2
示例 2:

txt
输入:head = [1,1,2,3,3]
输出:[1,2,3]1
2
2
提示:
- 链表中节点数目在范围
[0, 300]内 -100 <= Node.val <= 100- 题目数据保证链表已经按升序 排列
2. 🎯 s.1 - 暴力解法
js
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var deleteDuplicates = function (head) {
// 如果链表为空,直接返回
if (!head) return head
// 使用当前节点指针遍历链表
let current = head
// 遍历链表直到最后一个节点
while (current.next) {
// 如果当前节点值与下一个节点值相同,则跳过下一个节点
if (current.val === current.next.val) {
current.next = current.next.next
} else {
// 否则移动到下一个节点
current = current.next
}
}
return head
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31